System and methods to handle conditional requests for live programs

ABSTRACT

Systems and methods are presented herein for providing a user with a notification or with access to live media on an audio/visual user entertainment system based on a user&#39;s conditional request for media content. The user may provide the condition of the request by speaking or by entering the condition of the request into an interactive interface. An identification application analyzes the elements of the user&#39;s request and generates a question. The application finds a live media stream with identifiers related to the elements and posts the generated question to a live chat forum associated with the live media stream. The application analyzes posts on the forum made by other users to determine if the condition of the user&#39;s request is met. When the application determines a post confirms the condition is met, the application generates a notification and provides the user access to the live media stream.

BACKGROUND

The present disclosure is directed to systems and methods for providinga user with a notification or with access to live media content, andmore particularly, to systems and methods that provide notification oraccess to live media content based on the user's conditional request forcontent.

SUMMARY

When consuming content provided by a content platform, a user may oftenconsider changing to different content. In one approach, a user may haveto scroll through a program guide and select new content without knowingwhether or not the content contains the elements that the user has aparticular interest in. The user may then have to manually change userdevice to display various content streams based on the description, viewthe content themselves, and decide if they are still interested or waituntil the condition that created their initial interest are met.Additionally, a user may choose to return to the original content andcould miss the portion of the alternative content that generated theuser's interest in the alternative content. This user-executed approachis deficient in that the user often may miss portions of both theinitial stream being viewed and the secondary stream the user isinterested in without ever consistently accessing content that stirredthe user's initial interest.

In another approach, a system can remind a user about certain upcomingscheduled content or automatically switch to presenting another livecontent stream by reviewing metadata associated with live contentstreams. Live content streams may have associated metadata available forreview through content platform programming guides, which provide theupcoming schedule of live programming and an associated description of alive content stream. For example, a user may request a notification whena certain live show starts, and the system may provide a notificationbased on metadata of that show that indicates its start time. Thisapproach is deficient when the needed metadata is missing, or whencontent (e.g., live content) lacks any kind of metadata at all. Thismetadata analysis approach is also deficient, because available metadataoften does not provide details about what is being displayed at eachpoint in time on the live stream. Metadata analysis is limited toavailable information which is associated with a live stream and doesnot permit a scene-by-scene or frame-by-frame breakdown of what contentis being displayed.

In another approach, a system is configured to conduct on-the-fly deepvideo or audio analysis of a live stream to detect objects or subjectsof interest to a user. This approach is deficient because of largerprocessing power needed to analyze video to accurately identify theelements of a user's conditional interest and determine when the user'scondition is met. To accommodate this approach, a computing system mayneed to use most of the available processing circuitry and availablememory, which may degrade overall performance of the system. This methodis also deficient because deep video analysis is limited to what thesystem is configured to detect within each video frame. If the system isnot programmed to recognize the entire list of elements a user may inputas an element of a future conditional request, the system may not beable to find a live stream that meets the condition of the user'srequest. What is needed is a way for the system to notify the user whena content platform is showing content (e.g., a live stream) that meetsthe condition of a user's interest and provide the user with anotification or access to the relevant content once the condition of theuser's interest are met without relying on metadata or wastingprocessing resources by performing live video or audio analysis.

These deficiencies are solved by the systems and methods describedherein, which process a user's request for a notification to be providedwhen the content of a live media stream matches the condition of theuser's request and provide the user access to the live stream thatmatches the condition. The user provides the request by either a voicecommand or a text input through a communication interface with a userequipment device. For example, the conditional request could be, “Heyassistant, switch to the game once Messi goes onto the field.” Thesystem generates a question that, when answered affirmatively, mayconfirm that the condition of the user's request is met. For example,the generated question could be, “Did Messi go on the field?” The systemposts the generated question onto the network forum associated with alive media stream. As other users who are currently viewing the streampost comments on the live stream, the system analyzes the postssubsequent to the generated question for affirmations that the conditionin the request is met by analyzing the posts in the network forum thatare generated by other users. Once the system determines that a postconfirms the stream meets the request criteria, a notification to theuser is generated and the user is given access to the content in the newmedia stream.

These techniques solve the problems of other approaches described above.In particular, this approach does not rely on metadata and expensiveprocessing power. This approach relies on the review of the content ofnetwork forum posts subsequent to a generated question posted in anetwork forum of a live media stream that has identifying dataassociated with the condition of the user's request. This approachaddresses the deficiencies in only relying on metadata by elicitingresponses from current viewers of a live content stream to determine ifthe elements of the user's condition are present in the live portion ofthe media stream. By relying on the input of current users, as opposedto reviewing metadata associated with a live media stream, the systemcan confirm a user's condition which may be unique. The approach alsoaddresses the deficiencies in relying on expensive processing power byonly requiring the system to process a request, generate text for apost, and review the text of responses, without requiring an expansivelibrary of video elements in an attempt to predict the varying criteriaof a user's conditional request.

In some embodiments, the system has a predetermined threshold defined.The threshold comprises a required number of posts in the forum toaffirm that the condition of the request is met by the media streambefore providing a notification to the user. The system may not providea notification to the user (or switch to content) until the number ofposts that are determined to affirm the condition of the request meet orexceed the threshold.

In some embodiments, the user may not be logged in to all the livecontent servers available on the user equipment through thecommunication network. When a user provides the system with aconditional request for live content, the system first checks which, ifany, of the live content servers the user is logged in to. For eachrespective server the user is not logged into, the system generates ausername and login information based on the user's profile associatedwith the user equipment.

In some embodiments, the system is unable to find network forum poststhat confirm the condition of the user's request is met. The system mayhave a predetermined buffer timer enabled, (e.g., a one-minute buffertimer). After posting a question to the network forum, the systemreviews subsequent posts for indications that the user's conditionalrequest is currently satisfied or may be satisfied in the near futurefor the duration of the buffer timer. When the question is posted, thebuffer timer starts counting down. If no affirmative answer is detectedupon the expiration of the buffer timer, the system may generate a newrelated question and post the new question to the network forum with anew buffer timer countdown. The buffer time is updated when the systemdetects a forum post with a time element in the response. For example, aresponse may be “Messi will be on the field in 5 minutes,” and thesystem may update the buffer time to recheck the network forum for poststhat confirm the condition after the five-minute period has expired.

BRIEF DESCRIPTIONS OF THE DRAWINGS

The above and other objects and advantages of the disclosure will beapparent upon consideration of the following detailed description, takenin conjunction with the accompanying drawings, in which:

FIG. 1 illustrates an example of a computerized audio/video userentertainment system, in accordance with some embodiments of thedisclosure;

FIG. 2 is a block diagram representing devices, components of eachdevice, and data flow therebetween for an audio/video user entertainmentsystem incorporating conditional request processing features, inaccordance with some embodiments of the disclosure;

FIG. 3 is a flow-chart of an illustrative process for generating anotification that a user's conditional request for media content hasbeen satisfied and providing the user access to the media content thatsatisfies the criteria of the user's conditional request, in accordancewith disclosed methods and embodiments;

FIG. 4 is a flow-chart of an illustrative process for posting a questiononto a network forum, in accordance with some disclosed methods andembodiments;

FIG. 5 is a flow-chart of an illustrative process for updating thebuffer time based on a review of responses to the posted question in thenetwork forum, in accordance with some disclosed methods andembodiments;

FIG. 6 is a flow-chart of an illustrative process for determining thereare sufficient responses to the posted question in the network forum toexceed a threshold, in accordance with some disclosed methods andembodiments.

DETAILED DESCRIPTION

Methods and systems are provided herein for providing access to livemedia content that meets the criteria of a user-generated conditionalrequest.

The methods and/or any instructions for performing any of theembodiments discussed herein may be encoded on computer-readable media.Computer-readable media includes any media capable of storing data. Thecomputer-readable media may be transitory, including, but not limitedto, propagating electrical or electromagnetic signals, or may benon-transitory including, but not limited to, volatile and non-volatilecomputer memory or storage devices such as a hard disk, floppy disk, USBdrive, DVD, CD, media cards, register memory, processor caches, RandomAccess Memory (RAM), etc.

FIG. 1 depicts an example 100 of an audio/video user entertainmentsystem. The audio/video user entertainment system may include audiooutputs, video display 101, interactive menus, a microphone forrecording a user's commands for the system, and a device such as aremote, which would allow the user to input text into a field in aninteractive interface to provide a command to the user entertainmentsystem. In some embodiments, one of the users verbalizes a conditionalrequest 102. For example, the conditional request can comprise a wake-upcommand such as “Hey assistant” to active the appropriate input/outputcircuitry in the user equipment system. In some embodiments, the requestcomprises a noun of interest 103, and a verb with a connecting conditionthat the noun of interest must execute 104. For example, the user wantsto watch a Barcelona soccer game, but only when the player Messi isplaying on the field. The user's request 102 may be “Hey assistant,switch to the game when Messi goes on the field.” The identificationapplication may receive the request, which is then reviewed by theidentification application. The identification application may extractthe noun “Messi,” the verb “goes,” and the connecting condition “when .. . on the field.” Based on the extracted elements, the identificationapplication may generate a question 105 that, when answeredaffirmatively, would confirm that the condition of the user's request ismet. For example, the generated question could be, “Did Messi go on thefield?” In one example, the identification application may utilize asuitable intent analyzer to determinate the intent of question 102. Theintent analyzer may be capable of determining the context of a requestand is capable of determining content related to the elements of theuser's request. In some embodiments, the identification application myalso use a suitable question generator to generate question 105 based onthe determined intent.

For example, the identification application may utilize HuggingFace'sTransformers library of algorithms to determine intent and/or togenerate questions based on the determined intent. HuggingFace'sTransformers library is described, for example, in Thomas Wolf et al.,Transformers: State-of-the-Art Natural Language Processing, CornellUniversity Archive, Jul. 14, 2020, at 1-8), which is hereby incorporatedby reference herein in its entirety.

In another example, multiple users may be present in the vicinity of theaudio/video user entertainment system. For example, the multiple usersmay be engaged in conversation related to what live stream they wantview on video display 101. In some embodiments, the identificationapplication is configured to identify a particular noun that is thesubject of the conversation and generate a question by reviewing theconversation in pieces to understand the context of the statements aswell as the intents and preferences of the participants in theconversation. The question, when answered, may provide theidentification application with a confirmation that at least one livestream is relevant to the conversation the users are having. In thisembodiment, the identification application is then configured to providea notification to the users that a live stream contains content relevantto their conversation and may provide access for the users to the livesteam if the users' interest is confirmed.

In some embodiments, the identification application identifies a livestream at 106 that incorporates descriptive elements featuring noun 103and terms related to noun 103 by reviewing the live streams available onthe user entertainment system by looking for descriptive data 107 thatincludes the noun or other terms associated with the noun. In thisembodiment, the identification application enters the live network forumassociated with the live stream and posts 108 generated question 109.For example, the provider of content may also provide a forum associatedwith the live stream. The identification application may recognize thetime stamp of when the generated question was posted 110, may recognizeuser icon 111 of the profile used to post the generated question, andusername 112 associated with the profile used to post the generatedquestion. In some embodiments, the identification application may reviewnetwork forum posts subsequent to the posted question time stamp andwait for a responding post in network forum 119 that confirms thecondition of the requested condition is met. The period of time duringwhich the identification application reviews network forum posts may bebounded by a small time window. For example, the time window may beequal to the duration of the buffer time. In another example, the timewindow may be shorter than the buffer time. By defining a finite periodof time for analyzing the network forum posts, the identificationapplication reduces the amount of computing resources required duringthe execution of the described process. For example, responding post 113may include text such as, “Messi came onto the field.” In someembodiments, after determining a responding post confirms theconditional request is satisfied, the identification applicationgenerates 114 a notification 115 for the user to see on the userentertainment system display that contains the nature of thenotification and descriptive elements of the live stream that meets thecriteria of the conditional request. The identification application thenchanges the media content the user is consuming to live media stream116, for example by providing a descriptive overlay with current dateand time 117 as well as metadata 118 associated with the live stream.

In some embodiments, the identification application is capable ofchanging the media content the user is consuming to the live mediastream that meets the criteria of the conditional request withoutproviding the user with a notification. For example, a responding postmay include text such as, “Messi is on the field right now and isshowing amazing skills!” In this example, the identification applicationis able to recognize that the condition is met at a current moment andthe user may want to see the new live stream considering the urgency ofthe response compared to the condition of the user's request. Byproviding the user immediate and automatic access to the live stream,the identification application provides the user with a seamlesstransition to their desired live media content without utilizing excessprocessing power to generate a notification and without delaying thechange to the preferred live media content.

The identification application is capable of generating the questionthrough a variety of methods. For example, the identificationapplication includes a user intent analyzer which is able to processstatements that are input into the user entertainment system. The intentanalyzer utilized herein is analogous to the intent analyzer describedin U.S. patent application Ser. No. 16/171,093 to Murali Aravamudan etal., and is comparable to the recommendation engine of U.S. patentapplication Ser. No. 16/528,537 to Siddartha Pande et al., both of whichare here-by incorporated by reference herein in their entireties. Theintent analyzer is able to parse a user's statement into a relevant nounand a relevant verb. The intent analyzer additionally has a storedlibrary of context indicators to assist in the generation of anappropriate question that, when answered, confirms the user'sconditional request is met. In another example, the identificationapplication is able to convert the user's input statement into a Booleanyes/no question by rearranging a significant noun and a significantverb. In another example, the identification application utilizes theHuggingFace's Transformers library of algorithms to rearrange theelements of a user's input to create a question that, when answeredaffirmatively, can confirm that the condition of the user's request ismet.

In some embodiments, the identification application is capable ofaccessing forum server 265, e.g., as shown in FIG. 2. The identificationapplication is capable of utilizing the processing of multiple modulesconnected by communication network 214 to find and review the content offorum posts. The identification application is capable of utilizing theintent analyzer, which was used to generate the initial question, toprocess posts made by other users of the network forum subsequent to thegenerated question to determine if a post incorporates information thatdoes not directly answer the generated question and contains informationthat is related to the elements of the generated question. For example,a subsequent post may say, “Number 10 for Barcelona is on the field.”The identification application is capable of utilizing server processingcircuitry from the various modules of FIG. 2, along with the intentanalyzer, to determine that “Number 10 for Barcelona” is related to thesubject of the original request, Messi, by accessing and reviewing anyrelated information that each respective module in FIG. 2 can accessfrom memory or through communication network 214.

FIG. 2 is an illustrative block diagram showing an audio/video userentertainment system incorporating features to provide a user access tolive media content that satisfies the condition of a user's conditionalrequest, in accordance with some embodiments of the disclosure. In FIG.2, an audio/video user entertainment system is configured as anaudio/video user entertainment system 200, in accordance with someembodiments of the disclosure. In some embodiments, one or more parts ofor the entirety of system 200 may be configured as a system implementingvarious features, processes, and components of FIGS. 1 and 3-6. AlthoughFIG. 2 shows a certain number of components, in various examples, system200 may include fewer than the illustrated number of components and/ormultiples of one or more of the illustrated number of components.

System 200 is shown to include a computing device 218, a content server202, a forum server 265, and a communication network 214. It isunderstood that while a single instance of a component may be shown anddescribed relative to FIG. 2, additional instances of the component maybe employed. For example, content server 202 and forum server 265 mayinclude, or may be incorporated in, more than one server. Similarly,communication network 214 may include, or may be incorporated in, morethan one communication network. Content server 202 and forum server 265are each shown communicatively coupled to computing device 218 throughcommunication network 214. While not shown in FIG. 2, server 202 may bedirectly communicatively coupled to computing device 218, for example,in a system absent or bypassing communication network 214.

Communication network 214 may comprise one or more network systems, suchas, without limitation, Internet, LAN, WiFi or other network systemssuitable for audio processing applications. In some embodiments, system200 excludes server 202, and functionality that would otherwise beimplemented by content server 202 or forum server 265 is insteadimplemented by other components of system 200, such as one or morecomponents of communication network 214. In still other embodiments,content server 202 and forum server 265 work in conjunction with one ormore components of communication network 214 to implement certainfunctionality described herein in a distributed or cooperative manner.Similarly, in some embodiments, system 200 excludes computing device218, and functionality that would otherwise be implemented by computingdevice 218 is instead implemented by other components of system 200,such as one or more components of communication network 214, contentserver 202 or forum server 265 or a combination of the same. In otherembodiments, computing device 218 works in conjunction with one or morecomponents of communication network 214 or content server 202 or forumserver 265 to implement certain functionality described herein in adistributed or cooperative manner.

Computing device 218 includes control circuitry 228, display 234 andinput/output circuitry 216. Control circuitry 228 in turn includestransceiver circuitry 262, storage 238 and processing circuitry 240. Insome embodiments, computing device 218 or control circuitry 228 may beconfigured as varying embodiments of audio/visual user entertainmentsystem device 101 FIG. 1.

Content server 202 includes control circuitry 220 and storage 224. Eachof storages 224 and 238 may be an electronic storage device. As referredto herein, the phrase “electronic storage device” or “storage device”should be understood to mean any device for storing electronic data,computer software, or firmware, such as random-access memory, read-onlymemory, hard drives, optical drives, digital video disc (DVD) recorders,compact disc (CD) recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3Ddisc recorders, digital video recorders (DVRs, sometimes called personalvideo recorders, or PVRs), solid state devices, quantum storage devices,gaming consoles, gaming media, or any other suitable fixed or removablestorage devices, and/or any combination of the same. Each storage 224,238 may be used to store various types of content, metadata, and/orother types of data (e.g., they can be used to record audio questionsasked by one or more participants connected to a conference).Non-volatile memory may also be used (e.g., to launch a boot-up routineand other instructions). Cloud-based storage may be used to supplementstorages 224, 238 or instead of storages 224, 238. In some embodiments,the audio portion of a conference between multiple participants may berecorded and stored in one or more of storages 224, 238.

Forum server 265 includes control circuitry 266 and storage 267. Each ofstorages 267 and 238 may be an electronic storage device. As referred toherein, the phrase “electronic storage device” or “storage device”should be understood to mean any device for storing electronic data,computer software, or firmware, such as random-access memory, read-onlymemory, hard drives, optical drives, digital video disc (DVD) recorders,compact disc (CD) recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3Ddisc recorders, digital video recorders (DVRs, sometimes called personalvideo recorders, or PVRs), solid state devices, quantum storage devices,gaming consoles, gaming media, or any other suitable fixed or removablestorage devices, and/or any combination of the same. Each storage 267,238 may be used to store various types of content, metadata, and/orother types of data (e.g., they can be used to record audio questionsasked by one or more participants connected to a conference).Non-volatile memory may also be used (e.g., to launch a boot-up routineand other instructions). Cloud-based storage may be used to supplementstorages 267, 238 or instead of storages 267, 238. In some embodiments,the audio portion of a conference with multiple participants may berecorded and stored in one or more of storages 267, 238.

In some embodiments, control circuitry 220 and/or 228 executesinstructions for an identification application stored in memory (e.g.,storage 224 and/or storage 238). Specifically, control circuitry 220and/or 228 may be instructed by the identification application toperform the functions discussed herein. In some implementations, anyaction performed by control circuitry 220 and/or 228 may be based oninstructions received from the identification application. For example,the identification application may be implemented as software or a setof executable instructions that may be stored in storage 224 and/or 238and executed by control circuitry 220 and/or 228. In some embodiments,the identification application may be a client/server application whereonly a client application resides on computing device 218, and a serverapplication resides on content server 202.

In some embodiments, control circuitry 266 and/or 228 executesinstructions for the identification application stored in memory (e.g.,storage 267 and/or storage 238). Specifically, control circuitry 266and/or 228 may be instructed by the identification application toperform the functions discussed herein. In some implementations, anyaction performed by control circuitry 266 and/or 228 may be based oninstructions received from the identification application. For example,the identification application may be implemented as software or a setof executable instructions that may be stored in storage 267 and/or 238and executed by control circuitry 266 and/or 228. In some embodiments,the identification application may be a client/server application whereonly a client application resides on computing device 218, and a serverapplication resides on forum server 265.

The identification application may be implemented using any suitablearchitecture. For example, it may be a stand-alone identificationapplication wholly implemented on computing device 218. In such anapproach, instructions for the identification application are storedlocally (e.g., in storage 238), and data for use by the identificationapplication is downloaded on a periodic basis (e.g., from an out-of-bandfeed, from an Internet resource, or using another suitable approach).Control circuitry 228 may retrieve instructions for the identificationapplication from storage 238 and process the instructions to perform thefunctionality described herein. Based on the processed instructions,control circuitry 228 may determine a type of action to perform inresponse to input received from input/output circuitry 216 or fromcommunication network 214. For example, in response to a user providinga conditional request after speaking the wake-up command, controlcircuitry 228 may perform the steps of process 300 (FIG. 3), process 400(FIG. 4), process 500 (FIG. 5), process 600 (FIG. 6), or processesrelative to various embodiments.

In client/server-based embodiments, control circuitry 228 may includecommunication circuitry suitable for communicating with an applicationserver (e.g., content server 202) or other networks or servers. Theinstructions for carrying out the functionality described herein may bestored on the application server. Communication circuitry may include acable modem, an Ethernet card, or a wireless modem for communicationwith other equipment, or any other suitable communication circuitry.Such communication may involve the Internet or any other suitablecommunication networks or paths (e.g., communication network 214). Inanother example of a client/server based application, control circuitry228 runs a web browser that interprets web pages provided by a remoteserver (e.g., content server 202). For example, the remote server maystore the instructions for the identification application in a storagedevice. The remote server may process the stored instructions usingcircuitry (e.g., control circuitry 228) and/or generate displays.Computing device 218 may receive the displays generated by the remoteserver and may display the content of the displays locally via display234. This way, the processing of the instructions is performed remotely(e.g., by content server 202) while the resulting displays, such as thedisplay windows described elsewhere herein, are provided locally oncomputing device 218. Computing device 218 may receive inputs from theuser via input/output circuitry 216 and transmit those inputs to theremote server for processing and generating the corresponding displays.Alternatively, computing device 218 may receive inputs from the user viainput/output circuitry 216 and process and display the received inputslocally, by control circuitry 228 and display 234, respectively.

Content server 202 and computing device 218 may transmit and receivecontent and data such as media content via communication network 214.For example, content server 202 may be a media content provider, andcomputing device 218 may be a smart television configured to download orstream media content, such as a live news broadcast, from content server202. Control circuitry 220, 228 may send and receive commands, requests,and other suitable data through communication network 214 usingtransceiver circuitry 260, 262, respectively. Control circuitry 220, 228may communicate directly with each other using transceiver circuits 260,262, respectively, avoiding communication network 214.

Forum server 265 and computing device 218 may transmit and receivecontent and data such as media content via communication network 214.For example, forum server 265 may be the network forum associated with alive media content stream available on content server 202, and computingdevice 218 may be a smart television configured to download or streammedia content, such as a Harry Potter movie, from content server 202.Control circuitry 266, 228 may send and receive commands, requests, andother suitable data through communication network 214 using transceivercircuitry 269, 262, respectively. Control circuitry 266, 228 maycommunicate directly with each other using transceiver circuits 269,262, respectively, avoiding communication network 214.

It is understood that computing device 218 is not limited to theembodiments and methods shown and described herein. In nonlimitingexamples, computing device 218 may be a television, a Smart TV, aset-top box, an integrated receiver decoder (IRD) for handling satellitetelevision, a digital storage device, a digital media receiver (DMR), adigital media adapter (DMA), a streaming media device, a DVD player, aDVD recorder, a connected DVD, a local media server, a BLU-RAY player, aBLU-RAY recorder, a personal computer (PC), a laptop computer, a tabletcomputer, a WebTV box, a personal computer television (PC/TV), a PCmedia server, a PC media center, a handheld computer, a stationarytelephone, a personal digital assistant (PDA), a mobile telephone, aportable video player, a portable music player, a portable gamingmachine, a smartphone, or any other device, computing equipment, orwireless device, and/or combination of the same capable of suitablydisplaying and manipulating media content.

Control circuitry 220, 266 and/or 228 may be based on any suitableprocessing circuitry such as processing circuitry 226, 268 and/or 240,respectively. As referred to herein, processing circuitry should beunderstood to mean circuitry based on one or more microprocessors,microcontrollers, digital signal processors, programmable logic devices,field-programmable gate arrays (FPGAs), application-specific integratedcircuits (ASICs), etc., and may include a multi-core processor (e.g.,dual-core, quad-core, hexa-core, or any suitable number of cores). Insome embodiments, processing circuitry may be distributed acrossmultiple separate processors, for example, multiple of the same type ofprocessors (e.g., two Intel Core i9 processors) or multiple differentprocessors (e.g., an Intel Core i7 processor and an Intel Core i9processor). In some embodiments, control circuitry 220 and/or controlcircuitry 266 and/or control circuitry 228 are configured to implement amedia content operation system, such as systems, or parts thereof, thatperform various media content manipulation processes described and shownin connection with FIGS. 1 and 3-6, and/or systems carrying out thefeatures described and shown relative to FIGS. 1 and 3-6.

Computing device 218 receives a user input 204 at input/output circuitry216. For example, computing device 218 may receive a user input such asa user swipe or user touch, as previously discussed. In someembodiments, computing device 218 is a media device (or player)configured as devices 101 or 202, with the capability to access mediacontent. It is understood that computing device 218 is not limited tothe embodiments and methods shown and described herein. In nonlimitingexamples, computing device 218 may be a television, a Smart TV, aset-top box, an integrated receiver decoder (IRD) for handling satellitetelevision, a digital storage device, a digital media receiver (DMR), adigital media adapter (DMA), a streaming media device, a DVD player, aDVD recorder, a connected DVD, a local media server, a BLU-RAY player, aBLU-RAY recorder, a personal computer (PC), a laptop computer, a tabletcomputer, a WebTV box, a personal computer television (PC/TV), a PCmedia server, a PC media center, a handheld computer, a stationarytelephone, a personal digital assistant (PDA), a mobile telephone, aportable video player, a portable music player, a portable gamingmachine, a smartphone, or any other television equipment, computingequipment, or wireless device, and/or combination of the same.

User input 204 may be received from a user selection-capturing interfacethat is separate from device 218, such as a remote-control device,trackpad or any other suitable user movement sensitive or capturedevices, or as part of device 218, such as a touchscreen of display 234.Transmission of user input 204 to computing device 218 may beaccomplished using a wired connection, such as an audio cable, USBcable, ethernet cable or the like attached to a corresponding input portat a local device, or may be accomplished using a wireless connection,such as Bluetooth, WIFI, WiMAX, GSM, UTMS, CDMA, TDMA, 3G, 4G, 4G LTE,or any other suitable wireless transmission protocol. Input circuitry216 may comprise a physical input port such as a 3.5 mm audio jack, RCAaudio jack, USB port, ethernet port, or any other suitable connectionfor receiving audio over a wired connection, or may comprise a wirelessreceiver configured to receive data via Bluetooth, WIFI, WiMAX, GSM,UTMS, CDMA, TDMA, 3G, 4G, 4G LTE, or other wireless transmissionprotocols.

Processing circuitry 240 may receive input 204 from input circuit 216.Processing circuitry 240 may convert or translate the received userinput 204 that may be in the form of gestures or movement to digitalsignals. In some embodiments, input circuit 216 performs the translationto digital signals. In some embodiments, processing circuitry 240 (orprocessing circuitry 226, as the case may be) carries out disclosedprocesses and methods. For example, processing circuitry 240 orprocessing circuitry 226 may perform processes 300, 400, 500, and 600 ofFIGS. 2 and 4-6, respectively.

FIG. 3 is a flowchart of an exemplary process 300 for providing aconditional request to an audio/visual user entertainment system,wherein the identification application then provides the user access toa live media stream that meets the criteria of the conditional request.Process 300 or any step thereof could be performed on, or provided by,any device shown in FIG. 2 and can incorporate various user interfaces(e.g., display 234 of FIG. 2). For example, process 300 may be executedby control circuitry 228 (FIG. 2) of user equipment 218. In addition,one or more steps of process 300 may be incorporated into or combinedwith one or more steps of any other process or embodiment (e.g., process400 of FIG. 4, process 500 of FIG. 5, process 600 of FIG. 6).

At 301, a conditional request from a user is received by input/outputcircuitry 216 in computing device 218, from FIG. 2, from one of aplurality of users consuming media content on an audio/visual userentertainment system. For example, the user provides the request byspeaking a wake-up command for a microphone, which is connected tocomputing device 218 and contains input/output circuitry 216. At 302,control circuitry (e.g., control circuitry 228, from FIG. 2), extracts anoun and a verb from the conditional request. At 303, the controlcircuitry generates a question (e.g., using algorithms from theHuggingFace's Transformers library) comprised of the noun and the verb,which, when answered affirmatively, may confirm that the condition ofthe user's request is met. At 304, the control circuitry identifies alive stream on a content server is related to the noun from theconditional request. For example, as shown in FIG. 2, content server 202is one of a plurality of content servers that the user entertainmentsystem has access to through a communication network 214. At 305, thecontrol circuitry finds the network forum associated with the livestream and posts the generated question associated with the live stream.For example, as shown in FIG. 2, forum server 265 is accessible by theuser entertainment system, exemplified by computing device 218, whichutilizes transceiver circuitry 262 to generate multidirectionalcommunication stream 263 to communication network 214, which thenidentifies multidirectional communication streams 210 and 264 fortransceiver circuitry 260 and 269, respectively, for content server 202and forum server 265, respectively. At 306, the control circuitryrecords the time stamp of when the generated question was posted to thelive stream network forum in storage 238. For example, as shown in FIG.1, each network forum post will have metadata associated with eachrespective post indicating the time 110 when the post was generated inthe network forum. At 307, the control circuitry starts the buffer timecountdown using processing circuitry 240, which monitors the referencetime using multidirectional communication stream 248 with storage 238.For example, the buffer time is a predetermined period of time,maintained in storage 238 in the identification application settings asa default value.

At 308, the control circuitry reviews network forum posts throughtransceiver circuitry 262, which provides processing circuitry 240 withthe content of the posts through multidirectional communication stream254. Each post has a respective time stamp, which is after the timestamp of the generated question. Processing circuitry 240 reviews thecontent of the post for responses that confirm the condition in thegenerated question is met. The review may occur over a relatively smallperiod of time. The period of time may be as long as the buffer time ormay be shorter than the buffer time. In some embodiments, the period oftime may be variable. For example, the control circuitry may detect aplurality of responses with time stamps that are close together that allconfirm the condition is met. In this example, the system may reduce thebuffer time or eliminate it to provide the user immediate access to thelive media content.

At 309, if the control circuitry determines that none of the subsequentforum posts answer the question generated at step 303, theidentification application checks if the buffer time lapsed and proceedsto step 310. At 310, if the control circuitry determines that that thebuffer time has not lapsed, the identification application continues toreview network forum posts for responses to the generated question atstep 308. At 310, if the control circuitry determines that the buffertime has lapsed, the identification application generates a new questionusing the noun and verb from the conditional request at step 303. Atstep 309, if the control circuitry determines that one of the subsequentforum posts answer the generated question, the identificationapplication analyzes the post identified as an answer to the generatedquestion at step 311 to determine if the answers confirms if thecondition of the user's request is met.

At step 311, if the control circuitry determines that the response doesnot confirm the condition of the request is met, the identificationapplication then reviews if the buffer time lapsed at 310. At step 311,if the control circuitry utilizes the intent analyzer encoded inprocessing circuitry 240 to determine that the response does confirm thecondition of the request is met, the identification application thengenerates a notification to the user that the conditional request hasbeen satisfied at 312 and provides the user access to the live streamthat satisfies the conditional request at 313. For example, as shown inFIG. 1, the notification 115 appears on the display of the userentertainment system as an overlay over the currently viewed mediacontent, and the viewed media content is changed to the live stream thatsatisfies the criteria of the conditional request 102.

FIG. 4 is a flowchart of an exemplary process 400 for logging into theforum server related to a live stream that is related to the elements ofa user's conditional request. It should be noted that process 400 or anystep thereof could be performed on, or provided by, any device shown inFIG. 2 and can incorporate various user interfaces (e.g., display ofFIG. 2). For example, process 400 may be executed by control circuitry228 (FIG. 2) of the user equipment 218. In addition, one or more stepsof process 400 may be incorporated into or combined with one or moresteps of any other process or embodiment (e.g., starting at processblock 304 in process 300 of FIG. 3, starting at process block 502 inprocess 500 of FIG. 5, starting at process block 602 in process 600 ofFIG. 6). In addition, FIG. 1 provides a depiction of an exemplaryembodiment of the processes described herein.

At 401, the control circuitry identifies a plurality of content serversthat contain a plurality of live media streams that the audio/visualuser entertainment system has access to through the computing deviceportion of the system by identifying, through multidirectionalcommunication stream 263 with communication network 214, how manyconnections to content servers are active by content servercommunication stream 210, which may be multiple in nature. At 402, thecontrol circuitry identifies a live media stream on at least one of thecontent servers the system has access to by reviewing in processingcircuitry 226 which content streams are live, while also accessinginformation in storage 224 to extract additional related information. Atstep 403, if the control circuitry determines the user is logged in tothe content server of the live stream, the identification applicationenters the live media stream network forum associated with the livestream though network forum communication stream 264 using the user'slogged-in profile as the chat ID at step 404, once the system gets pastthe security protocol in transceiver circuitry 269 and gains access tothe forum itself in processing circuitry 268. For example, the forumserver may generate for display for other users the user icon in iconfield 111 of the forum, from FIG. 1, and the user profile name in theprofile name field 112 of the forum, from FIG. 1.

At 407, the control circuitry may then post the generated question usingthe user identifiers associated with the user profile in the networkforum on forum server 265 using communication stream 263 and forumcommunication stream 264 through communication network 214. At step 403,if the control circuitry application determines the user is not loggedin to the content server of the live stream, the identificationapplication generates an identification application-generated profile atstep 405 and enters the live stream network forum using theidentification application-generated profile as the chat ID at step 406to get past the security protocols enabled in transceiver circuitry 269.For example, the forum server may generate for display for other users aidentification application-generated icon in icon field 111 of theforum, from FIG. 1, and an identification application-generated profilename in profile name field 112 of the forum, from FIG. 1. At 407, theidentification application may then post the generated question usingthe identification application-generated identifiers associated with theidentification application generated profile.

For example, a network forum server may have protocols enabled to blockcertain network forum postings that are not associated with a userprofile. The identification application-generated profile mayincorporate all the elements of a user generated profile to permit theidentification application-generated profile to get past the blockingprotocols of network forum servers. In another example, multipleprofiles can be created for each respective forum server the system iscapable of accessing. In another example, the identification applicationgenerates a different profile for each respective posting of a questionin each respective network forum in response to the buffer time lapsingbefore the identification application is able to confirm the user'sconditional request is met. In another example, the identificationapplication is capable of generating a unique question for eachrespective profile generated to access each respective forum server. Inthis example, the identification application is capable of accessing allservers and processing circuitry accessible through communicationnetwork 214, from FIG. 2, to broaden the scope of the questions, inorder to compel more relevant responses from other users posting in thenetwork forums.

FIG. 5 is a flowchart of an exemplary process 500 for updating theduration of the buffer time based on the responses to the generatedquestion in a network forum. It should be noted that process 500 or anystep thereof could be performed on, or provided by, any device shown inFIG. 2 and can incorporate various user interfaces (e.g., display ofFIG. 2). For example, process 500 may be executed by control circuitry228 (FIG. 2) of user equipment 218. In addition, one or more steps ofprocess 500 may be incorporated into or combined with one or more stepsof any other process or embodiment (e.g., starting at process block 303in process 300 of FIG. 3, replacing process blocks 502 and 503 withprocess blocks 401-407 in process 400 of FIG. 4, incorporating afterprocess block 509, in response to a YES, process block 610 in process600 of FIG. 6). In addition, FIG. 1 provides a non-technical depictionof an exemplary embodiment of the processes described herein.

At 501, the control circuitry generates a question using the noun andthe verb which, when answered affirmatively, may confirm that thecondition of the user's request is met. The noun and the verb areextracted from the user's request and are processed by processingcircuitry 240, which in some embodiments has an intent analyzer encodedtherein and may use algorithms from HuggingFace's Transformers library.At 502, the control circuitry identifies a live stream is ready fordisplay in processing circuitry 226 on content server 202, that isrelated to the noun from the user's request. For example, as shown inFIG. 2, content server 202 is one of a plurality of content servers thatthe user entertainment system has access to through communicationnetwork 214, and communication stream 210 connects the control circuitryof device 218 to the control circuitry of content server 202 throughcommunication network 214. At 503, the control circuitry finds thenetwork forum associated with the live stream by utilizing communicationnetwork 214 to establish communication streams 210, 263, and 264, whichenable the respective transceiver circuitries 260, 262, and 269 ofcontent server 202, computing device 218, and forum server 265 toestablish and maintain communication. The control circuitry then poststhe generated question associated with the live stream on the forumrelated to the selected live stream in forum server 265. For example, asshown in FIG. 2, forum server 265 is accessible by the userentertainment system through a communication network 214. At 504, theidentification application records the time stamp of when the generatedquestion was posted to the live stream network forum. For example, asshown in FIG. 1, each network forum post may have metadata associatedwith each respective post indicating the time 110 when the post wasgenerated in the network forum. At 505, processing circuitry 240 startsthe buffer time countdown. For example, the buffer time is one minute,and is saved in the identification application settings as a defaultvalue.

At 506, the processing circuitry reviews network forum posts generatedby other users after the time stamp of the generated question for aresponse that confirms the condition in the generated question are met.At 507, if the processing circuitry determines that none of thesubsequent forum posts answer the generated question, the identificationapplication checks if the buffer time lapsed at step 508. At 508, if theprocessing circuitry determines that that the buffer time did not lapse,the identification application continues to review network forum postsat step 506 for responses to the generated question. At 508, if theprocessing circuitry determines that the buffer time did lapse, theidentification application generates a new question using the noun andverb from the conditional request at step 501. For example, theprocessing circuitry may process the noun and the verb utilizingalternative phrases generated by the intent analyzer and then producinga new question using the HuggingFace's Transformers library.

At 507, if the processing circuitry determines that one of thesubsequent forum posts answers the generated question, theidentification application analyzes the post identified as an answer tothe generated question at step 509 to determine if the answer confirmsif the condition of the user's request is met. At 509, if the processingcircuitry determines that the response does confirm the condition of therequest is met, the identification application then generates anotification to the user that the conditional request has been satisfiedat step 513 and provides the user access to the live stream thatsatisfies the conditional request at step 514. For example, as shown inFIG. 1, notification 115 appears on the display of the userentertainment system as an overlay over the currently viewed mediacontent, and the viewed media content is changed to the live stream thatsatisfies the criteria of conditional request 102. At step 509, if theprocessing circuitry determines that the response does not confirm thecondition of the request is met, the identification application thenanalyzes the response for a time element at step 510.

At 510, if the processing circuitry determines that a response thatconfirms the condition, based on analysis performed by the intentanalyzer encoded onto processing circuitry 240, of the request has atime element, the identification application generates a notificationthat displays for the user when the conditional request may be met 511and updates the buffer time duration based on the time element inresponse 512. For example, a response may be “Messi will be on the fieldin five minutes,” and the identification application may update thebuffer timer from the default value of one minute to five minutes. At508, the identification application may then review if the buffer timelapsed. At 510, if the processing circuitry determines that a responsethat confirms the condition of the request does not have a time element,the identification application may then review if the buffer time lapsedat 508.

FIG. 6 is a flowchart of an exemplary process 600 for comparing thenumber of responsive network forum posts to a threshold. It should benoted that process 600 or any step thereof could be performed on, orprovided by, any device shown in FIG. 2 and can incorporate various userinterfaces (e.g., display of FIG. 2). For example, process 600 may beexecuted by control circuitry 228 (FIG. 2) of user equipment 218. Inaddition, one or more steps of process 600 may be incorporated into orcombined with one or more steps of any other process or embodiment(e.g., incorporating process block 610 in response to a YES at processblock 311 in process 300 of FIG. 3, replacing process blocks 602 and 603with process blocks 401-407 in process 400 of FIG. 4, incorporatingprocess block 610 in response to a YES at process block 509 in process500 of FIG. 5). In addition, FIG. 1 provides a depiction of an exemplaryembodiment of the processes described herein.

Steps 601-608 reflect the same steps and process reflected in FIG. 3steps 303-310. At 609, if the processing circuitry determines that theresponse does not confirm the condition of the request is met, theidentification application then reviews if the buffer time lapsed at608. At 609, if the processing circuitry determines that the responsedoes confirm the condition of the request is met, the identificationapplication then reviews subsequent posts in the network forum foradditional responses that confirm the condition of the request is met toverify if the number of responses exceeds a threshold saved in theidentification application settings at step 610. For example, thethreshold requires more than five posts that answer the question andconfirm the condition of the request is met. In this example, if theidentification application detects six forum posts made after the postedquestion that confirm the condition is met, the identificationapplication may consider the threshold exceeded and may advance to step611.

In another example, the threshold is dynamic and requires that a percentof the responses reviewed answer the question and confirm the conditionof the request is met. In this example, the identification applicationmay have a required confirming response percentage of 59% and may findthere were five responses to the question. In this example, theidentification application may determine that three of the fiveresponses confirm the condition of the request is met and may considerthe threshold exceeded because 60% of the responsive posts answer thequestion and confirm the condition of the request is met. However, ifmore responses to the question do not confirm the condition is metbefore the buffer time expires, the identification application may notconfirm the threshold is exceeded.

At 610, if the processing circuitry determines that the number ofresponses confirming the condition of the request does not exceed thethreshold, the identification application then reviews if the buffertime lapsed at 608. At 610, if the processing circuitry determines thatthe number of responses confirming the condition of the request doesmeet or exceed the threshold, the identification application thengenerates a notification to the user that the conditional request hasbeen satisfied at 611 and provides the user access to the live streamthat satisfies the conditional request at 612. For example, as shown inFIG. 1, notification 115 appears on the display of the userentertainment system as an overlay over the currently viewed mediacontent, and the viewed media content is changed to the live stream thatsatisfies the criteria of conditional request 102.

The systems and processes discussed above are intended to beillustrative and not limiting. One skilled in the art would appreciatethat the actions of the processes discussed herein may be omitted,modified, combined, and/or rearranged, and any additional actions may beperformed without departing from the scope of the invention. Moregenerally, the above disclosure is meant to be exemplary and notlimiting. Only the claims that follow are meant to set bounds as to whatthe present disclosure includes. Furthermore, it should be noted thatthe features and limitations described in any one embodiment may beapplied to any other embodiment herein, and flowcharts or examplesrelating to one embodiment may be combined with any other embodiment ina suitable manner, done in different orders, or done in parallel. Inaddition, the systems and methods described herein may be performed inreal time. It should also be noted that the systems and/or methodsdescribed above may be applied to, or used in accordance with, othersystems and/or methods.

While some portions of this disclosure may refer to “convention” orexamples, any such reference is merely to provide context to the instantdisclosure and does not form any admission as to what constitutes thestate of the art.

1. A method comprising: receiving a request for a notification, whereinthe notification is to be provided when content of a media stream meetsa requested criteria; automatically generating a question based on therequested criteria; posting the question in a network forum associatedwith the media stream, wherein the network forum is accessible toplurality of users; and in response to determining that a post on thenetwork forum is a response to the question; determining, based on thepost, that the media stream meets the requested criteria; and based ondetermining that the media stream meets the requested criteria;providing the notification.
 2. The method of claim 1, wherein thereceiving the request comprises: detecting, by a microphone, the useractivating a voice command system of a media display device; andprocessing the voice command received by the voice command system todetermine the requested criteria, wherein the requested criteriacomprises a noun and a verb.
 3. The method of claim 1, wherein receivingthe request comprises: receiving a text input, through a text inputinterface available on a media display device, the criteria of the user;and processing the text to determine a noun and a verb.
 4. The method ofclaim 1, wherein automatically generating the question comprises:extracting a noun and a verb from the requested criteria; and inresponse to extracting the noun and the verb from the selected criteria,generating a question comprised of the noun and the verb.
 5. The methodof claim 1, wherein posting in the network forum associated with themedia stream comprises: identifying a plurality of media streams,wherein each respective media stream has metadata associated with themedia stream; opening the network forum of each respective media streamusing a user account profile; and searching the network forum of eachrespective media stream for metadata associated with the requestedcriteria; posting on a forum identified as result of the searching. 6.The method of claim 1, wherein determining that the media stream meetsthe requested criteria, further comprises: identifying a noun and a verbin the requested criteria; searching a plurality of posts for the nounand the verb; identifying a subset of the plurality the posts, whereineach post in the subset of the posts comprises the noun, the verb, and apositive indicator; calculating a number of posts in the subset of theposts; and in response to determining that the number exceeds athreshold, determining that the media stream meets the requestedcriteria.
 7. (canceled)
 8. The method of claim 1, wherein determining,based on the post, that the media stream meets the requested criteria:identifying a noun and a verb in the requested criteria; and determiningthat text in the post in comprised of the noun, the verb and a positiveindicator.
 9. (canceled)
 10. The method of claim 1, further comprisingautomatically playing the media stream when the requested criteria ismet.
 11. The method of claim 1, wherein posting the question in anetwork forum associated with the media stream further comprises:recording a posting time stamp of when the question is posted to thenetwork forum; calculating a time elapsed from the time stamp;determining that the time elapsed is greater than a buffer time value;and in response to determining that the time elapsed is greater than abuffer time value: generating a new question, wherein the new questionis based on the requested criteria, to post in the network forum. 12.The method of claim 11, further comprising modifying the buffer timevalue when text of a post on the network forum includes a time when therequested criteria will be met.
 13. A system comprising: an input/outputcircuitry configured to: receive a request for a notification, whereinthe notification is to be provided when content of a media stream meetsa requested criteria; and a control circuitry configured to:automatically generate a question based on the requested criteria;wherein the input/output circuitry is further configured to: post thequestion in a network forum associated with the media stream, whereinthe network forum is accessible to plurality of users; and wherein theinput/output circuitry is further configured to: in response todetermining that a post on the network forum is a response to thequestion; determine, based on the post, that the media stream meets therequested criteria; and based on determining that the media stream meetsthe requested criteria; generate the notification for transmission bythe input/output circuitry.
 14. The system of claim 13, wherein theinput/output circuitry is configured to receive the request for thenotification by: detecting, using a microphone, the user activating avoice command system of a media display device; and processing the voicecommand received by the voice command system to determine the requestedcriteria, wherein the requested criteria comprises a noun and a verb.15. The system of claim 13, wherein the input/output circuitry isconfigured to receive receiving the request by: receiving a text input,through a text input interface available on a media display device, thecriteria of the user; and processing the text to determine a noun and averb.
 16. The system of claim 13, wherein the control circuitry isconfigured to automatically generate the question by: extracting a nounand a verb from the requested criteria; and in response to extractingthe noun and the verb from the selected criteria, generating a questioncomprised of the noun and the verb.
 17. The system of claim 13, whereinthe input/output circuitry capable of posting in the network forumassociated with the media stream is further configured to: identify aplurality of media streams, wherein each respective media stream hasmetadata associated with the media stream; open the network forum ofeach respective media stream using a user account profile; and searchthe network forum of each respective media stream for metadataassociated with the requested criteria; and wherein the input/outputcircuitry is farther configured to post on a forum identified as resultof the searching.
 18. The system of claim 13, wherein the input/outputcircuitry is configured to determine that the media stream meets therequested criteria by: identifying a noun and a verb in the requestedcriteria; searching a plurality of posts for the noun and the verb;identifying a subset of the plurality the posts, wherein each post inthe subset of the posts comprises the noun, the verb, and a positiveindicator; calculating a number of posts in the subset of the posts; andin response to determining that the number exceeds a threshold,determining that the media stream meets the requested criteria. 19.(canceled)
 20. The system of claim 13, wherein the input/outputcircuitry is configured to determine, based on the post, that the mediastream meets the requested criteria by: identifying a noun and a verb inthe requested criteria; and determining that text in the post incomprised of the noun, the verb and a positive indicator.
 21. (canceled)22. The system of claim 13, further configured to automatically play themedia stream when the requested criteria is met.
 23. The system of claim13, wherein the control circuitry is configured to post the question ina network forum associated with the media stream by: recording a postingtime stamp of when the question is posted to the network forum;calculating a time elapsed from the time stamp; determining that thetime elapsed is greater than a buffer time value; and in response todetermining that the time elapsed is greater than a buffer time value:generating a new question, wherein the new question is based on therequested criteria, to post in the network forum.
 24. The system ofclaim 23, further comprising modifying the buffer time value when textof a post on the network forum includes a time when the requestedcriteria will be met. 25.-30. (canceled)